package com.gqh.weather.controller;

import com.gqh.weather.auth.UserContext;
import com.gqh.weather.auth.UserInfo;
import com.gqh.weather.domain.dto.CcStudentExamRequest;
import com.gqh.weather.domain.dto.CcStudentExportPicRequest;
import com.gqh.weather.domain.dto.CcStudentExportRequest;
import com.gqh.weather.domain.dto.CcStudentReplaceRequest;
import com.gqh.weather.domain.dto.MyPage;
import com.gqh.weather.domain.dto.StudentListData;
import com.gqh.weather.exception.Result;
import com.gqh.weather.service.CCStudentService;
import com.gqh.weather.service.StudentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * 抽测学生管理控制器
 */
@Slf4j
//@RestController
@RequestMapping("/pingjia/zh/v1/task/cc_student")
@Validated
public class CCStudentController {

    @Autowired
    private CCStudentService ccStudentService;

    @Autowired
    private StudentService studentService;

//    /**
//     * 抽测考生现场抽签
//     *
//     * @param taskId 任务id
//     * @return 抽签结果
//     */
//    @PostMapping("/exam")
//    public Result<MyPage<StudentListData>> ccStudentExam(
//            @RequestParam(name = "task_id") Integer taskId) {
//
//        log.info("抽测考生现场抽签，任务ID: {}", taskId);
//
//        if (taskId == null || taskId <= 0) {
//            return Result.error("任务id参数不正确");
//        }
//
//        // 执行抽签
//        Result<Void> examResult = ccStudentService.ccStudentExam(taskId);
//        if (examResult.getCode() != 200) {
//            return Result.error(examResult.getMsg());
//        }
//
//        // 获取用户信息
//        UserInfo userInfo = UserContext.getCurrentUser();
//
//        // 返回学生列表
//        return studentService.getStudentListForCcExam(taskId, userInfo.getCitycode());
//    }
//
//    /**
//     * 抽测考生导出
//     *
//     * @param taskId   任务id
//     * @param citycode 城市码
//     * @return 导出结果
//     */
//    @PostMapping("/export")
//    public Result<String> ccStudentExport(
//            @RequestParam(name = "task_id") Integer taskId,
//            @RequestParam(name = "citycode") String citycode) {
//
//        log.info("抽测考生导出，任务ID: {}, 城市码: {}", taskId, citycode);
//
//        // 获取用户信息
//        UserInfo userInfo = UserContext.getCurrentUser();
//
//        return ccStudentService.ccStudentExport(taskId, citycode, userInfo);
//    }
//
//    /**
//     * 抽测考生照片导出
//     *
//     * @param taskId   任务id
//     * @param citycode 城市码
//     * @param isAll    0按学校分文件夹导出 1不分文件夹全部导出
//     * @return 导出结果
//     */
//    @PostMapping("/export_pic")
//    public Result<String> ccStudentExportPic(
//            @RequestParam(name = "task_id") Integer taskId,
//            @RequestParam(name = "citycode") String citycode,
//            @RequestParam(name = "is_all") Integer isAll) {
//
//        log.info("抽测考生照片导出，任务ID: {}, 城市码: {}, 导出方式: {}", taskId, citycode, isAll);
//
//        // 获取用户信息
//        UserInfo userInfo = UserContext.getCurrentUser();
//
//        return ccStudentService.ccStudentExportPic(taskId, isAll, citycode, userInfo);
//    }
//
//    /**
//     * 抽测考生替换
//     *
//     * @param taskId    任务id
//     * @param studentId 学生id
//     * @return 替换结果
//     */
//    @PostMapping("/replace")
//    public Result<StudentListData> ccStudentReplace(
//            @RequestParam(name = "task_id") Integer taskId,
//            @RequestParam(name = "student_id") Integer studentId) {
//
//        log.info("抽测考生替换，任务ID: {}, 学生ID: {}", taskId, studentId);
//
//        return ccStudentService.ccStudentReplace(taskId, studentId);
//    }
}